﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;


namespace PrimeiraClasse
{
    class Heroi
    {
        private Texture2D textura;
        private Vector2 posicaoXY;        
      //vamos tornar estes parâmetros publicos
        //public string nome;
        //public int energia;
        //public int mana;
        //public int sorte;

        private string nome;
        private int energia;
        private int mana;
        private int sorte;
        
        
        public Heroi(Texture2D textura, Vector2 posicaoXY)
        {
            this.textura = textura;
            this.posicaoXY = posicaoXY;

        }

        public void Draw(GameTime gameTime, SpriteBatch render)
        {
            render.Draw(textura, posicaoXY, Color.White);
        }

        public void ExibeFichaAnao(Boolean exibeFicha, SpriteBatch render, SpriteFont texto)
        {
            String dadosAnao = "Nome: " + nome + "\n" +
                                "Mana: " + mana + "\n" +
                                "Sorte: " + sorte + "\n" +
                                "Energia: " + energia;
            if (exibeFicha)
            {
                render.DrawString(texto, dadosAnao, Vector2.Zero, Color.White);
            }
        }

        /// <summary>
        /// método de retorno e critica para o atributo nome
        /// </summary>
        public string personagemNome
        {
            set
            {
                if (value.Equals(""))
                {
                    nome = "Personagem";
                }
                else
                {
                    nome = value;
                }
            }

            get
            {
                return nome;
            }
        }

        /// <summary>
        /// método de retorno e critica para o atributo energia
        /// </summary>
        public int pesonagemEnergia
        {
            set
            {
                if (value > 100)
                {
                    energia = 100;
                }
                else
                {
                    energia = value;
                }
            }

            get
            {
                return energia;
            }
        }

        /// <summary>
        /// método de retorno e critica para o atributo mana
        /// </summary>
        public int personagemMana
        {

            set
            {
                if (value > 60)
                {
                    mana = 60;
                }
                else
                {
                    mana = value;
                }
            }

            get
            {
                return mana;
            }
        }

        /// <summary>
        /// método de retorno e critica para o atributo sorte
        /// </summary>
        public int personagemSorte
        {
            set
            {
                if (value > 30)
                {
                    sorte = 30;
                }
                else
                {
                    sorte = value;
                }
            }

            get
            {
                return sorte;
            }
        }



    }
}
